/**
 * 全局默认配置
 */
const config = {
  // v3pro 配置
  v3pro: {
    // 服务器配置
    server: {
      baseUrl: "https://192.168.233.163:12409",
      username: "Professional",
      password: "sansi@v3pro",
    },
    // 采集定时配置
    collectTimer: {
      // 程序启动后，等待多久后开始收集数据（秒）
      delayOnStart: 5,
      // 默认采集间隔（秒）
      interval: 10,
      // 坏点采集间隔（秒）
      deadPixel: 10,
      // 触发显示屏坏点检查时间（每日一次）
      deadPixelTriggerTime: "00:00:00",
      // 亮度传感器采集间隔（秒）
      lux: 10,
    },
    threshold: {
      // 面板坏点阈值（%） 0 - 100
      panelDeadPixedRate: 20,
      // 温度异常阈值（摄氏度）， 50 ~ 90 已废弃（无效）
      temperatureThreshold: 55,
      // 温度异常持续时间（秒） 5 - 1800 已废弃（无效）
      temperatureDuration: 10,
      // 面板电压异常阈值（伏特）， 0.5 ~ 5.0 已废弃（无效）
      panelVoltage: 4.5,
      // 误码率过高(%) 0 - 100 已废弃（无效）
      scanBoardErrBitRate: 10,
      // 扫描板电压异常阈值（伏特）， 0.5 ~ 5.0 已废弃（无效）
      scanBoardVoltage: 4.5,
    },
    // 开启或关闭错误上报
    errEnable: {
      // 发送通讯故障
      sendBoxComm: true,
      // 发送盒网络物理链接故障
      sendBoxNet: true,
      // 发送盒信号源故障
      sendBoxSignal: true,
      // 扫描板通讯故障
      scanBoardComm: true,
      // 扫描板误码率过高
      scanBoardErrBitRate: true,
      // 扫描板异常重启
      scanBoardErrReset: true,
      // 显示坏点故障
      scanBoardDeadPixel: true,
      // 扫描板电压故障
      scanBoardVoltage: true,
      // 面板通信故障
      panelComm: true,
      // 面板信号故障
      panelSignal: true,
      // 面板电压异常
      panelVoltage: true,
      // 亮度传感器故障
      panelLuminance: true,
      // 温度异常
      temperature: true,
      // 扫描板门窗打开告警
      doorOpenAlert: true,
      // 门限位 on 状态位打开状态
      doorOpenIsOnStatus: true,
    },
  },
  // starriver 配置
  starriver: {
    // 是否开启 diff 检查
    enableDiffCheck: false,
    // mqtt 配置
    mqtt: {
      // address: "tcp://mqtt.fangjc1986.com:1883/mqtt",
      address: "tcp://192.168.31.165:1883",
      username: "v3pro-proxy-server",
      password: "123456",
    },
    // http 配置
    server: {
      baseUrl: "http://192.168.31.165:38080",
      registerKey: "f9zNEbURFrlRZoEE9HIt",
    },
  },
};

export declare type GlobalConfig = typeof config;

/**
 * 全局默认配置
 * @constructor
 */
export const GlobalDefaultConfig = () => config;
